package com.zhoux.api.io.raf;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;

/**
 * @author taoyi
 * @version 1.0
 * @date 2021/3/24 16:53
 *
 * 本类用于测试从文件中读取数据
 */
public class RAFDemo2 {
    public static void main(String[] args) {
        // 从目标目录下的 raf.dat 文件中读取字节
        File file = new File(".\\src\\main\\java\\com\\zhoux\\file\\raf.dat");
        RandomAccessFile raf = null;

        try {
            raf = new RandomAccessFile(file,"r");
            try {
                /**
                 *  int read()
                 *  从文件中读取一个字节, 返回值为 int 类型, 该 int 值对应的二进制的 “低八位” 就是
                 *  本次读取出来的字节内容, 如果返回的 int 值是 -1 则表示读取到了文件的末尾(EOF)
                 *  EOF: end of file 文件末尾
                 */
                int n = raf.read();
                System.out.println(n);
                System.out.println(raf.read());
            } catch (IOException e) {
                System.out.println("读取失败！");
                e.printStackTrace();
            }
        } catch (FileNotFoundException e) {
            System.out.println("执行失败！");
            e.printStackTrace();
        }finally {
            try {
                raf.close();
            } catch (IOException e) {
                System.out.println("关闭失败！");
                e.printStackTrace();
            }
        }
    }
}
